In the field of computer-implemented games, game tutorials are an important tool to teach users the different features of a game application (or “app”) or other executable game code. Currently tutorials must be hardcoded (that is, specifically programmed) for each level or feature. As a result, each tutorial involves writing a lot of specific and non-reusable tutorial code. Also, many ad hoc changes are usually required in the actual game code to accommodate the different tutorials.
For games that are presented in a “saga” format, a user moves between different levels of game, after completing each earlier level. Each level normally requires its own tutorial. It is sometimes the case that levels are altered in which case the tutorial for the level may also need to be altered.
All of that results in programmers having to dedicate a large amount of time to implement and change tutorials (even though this is intrinsically a design task), more bugs and less maintainable code. For instance, when it becomes apparent that a point in the game is difficult for players, it may be desirable to provide a new tutorial to aid them at that difficult point—currently, that new tutorial must be developed by programmers, compiled and distributed with a new version of the game application.